package socket;

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

/**
 * @author DCSGO
 * @version 1.0
 * 客户端 向服务器发送 Hello,Sever!
 */
public class SocketTCP01Client {
    public static void main(String[] args) throws IOException {
        int port = 9999;
//        //获取 服务端 InetAddress(本地主机)
//        InetAddress serverInetAddress = InetAddress.getLocalHost();

        //获取 服务端 InetAddress(远程主机) 需要在云服务器的安全组中添加端口 9999
        InetAddress serverInetAddress = InetAddress.getByName("47.113.198.9");

        System.out.println("获取到服务端 InetAddress");

        System.out.println("访问服务端 " + port + " 端口...");
        //创建 socket
        Socket socket = new Socket(serverInetAddress, port);

        //获取 OutputStream
        OutputStream outputStream = socket.getOutputStream();
        System.out.println("向服务端发送数据中...");
        //传输数据
        outputStream.write("Hello,server!".getBytes());

        //关闭资源
        outputStream.close();
        socket.close();
        System.out.println("数据发送完毕 相关资源已关闭 程序结束...");

        /* 必须先运行服务端程序 再运行客户端程序才行 不然会抛 ConnectException(连接异常) 异常
         * 获取到服务端 InetAddress
         * 访问服务端 9999 端口...
         * 向服务端发送数据中...
         * 数据发送完毕 相关资源已关闭 程序结束...
         *
         * 进程已结束，退出代码为 0
         */
    }
}
